﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using BUS;
using DAO;

namespace QuanLyKhachSan
{
    public partial class ThemPhong : Form
    {
        public ThemPhong()
        {
            InitializeComponent();
        }

        private long maLoaiPhongThem;
        private long maPhongSua;
        private long maLoaiPhongSua;
        private long tinhTrangPhong;

        private void ThemPhong_Load(object sender, EventArgs e)
        {
            cbLoaiPhong.Items.Clear();
            List<PhongDTO> dsPhong = PhongBUS.layDSPhong();
            for (int i = 0; i < dsPhong.Count; i++)
            {
                //lvDSPhong.Rows.Add(dsPhong[i].MaPhong, dsPhong[i].TenPhong, dsPhong[i].LoaiPhong.TenLoaiPhong, dsPhong[i].TenPhong, dsPhong[i].TinhTrang);
                ListViewItem LVI = new ListViewItem(new String[] { (i + 1).ToString(), dsPhong[i].TenPhong, dsPhong[i].LoaiPhong.TenLoaiPhong, dsPhong[i].DonGia.DonGia.ToString(), dsPhong[i].GhiChu, dsPhong[i].MaPhong.ToString() });
                lvDSPhong.Items.Add(LVI);
            }

            List<LoaiPhongDTO> dsLoaiPhong = LoaiPhongBUS.layDSLoaiPhong();
            for(int i = 0; i < dsLoaiPhong.Count; i++)
            {
                cbLoaiPhong.Items.Add(dsLoaiPhong[i].TenLoaiPhong);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Chắc chắn muốn thoát ???", "Warning !!!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                this.Close();
        }

        private void cbLoaiPhong_SelectedIndexChanged(object sender, EventArgs e)
        {
            List<LoaiPhongDTO> dsLoaiPhong = LoaiPhongBUS.layDSLoaiPhong();
            for (int i = 0; i < dsLoaiPhong.Count; i++)
            {
                if (cbLoaiPhong.Text == dsLoaiPhong[i].TenLoaiPhong)
                {
                    txtDonGia.Text = dsLoaiPhong[i].DonGia.ToString();
                    maLoaiPhongSua = dsLoaiPhong[i].MaLoaiPhong;
                }
            }
        }

        private void btThem_Click(object sender, EventArgs e)
        {
            if (txtTenPhong.Text == "" || cbLoaiPhong.Text == "")
            {
                MessageBox.Show(this, "Bạn phải nhập đủ thông tin để thêm phòng !!!", "Thông báo !!!");
            }
            else
            {
                try
                {
                    List<LoaiPhongDTO> dsLoaiPhong = LoaiPhongBUS.layDSLoaiPhong();
                    for (int i = 0; i < dsLoaiPhong.Count; i++)
                    {
                        if (cbLoaiPhong.Text == dsLoaiPhong[i].TenLoaiPhong)
                        {
                            maLoaiPhongThem = dsLoaiPhong[i].MaLoaiPhong;
                        }
                    }

                    List<PhongDTO> dsPhong = PhongBUS.layDSPhong();
                    bool tp = PhongBUS.themPhong(txtTenPhong.Text, maLoaiPhongThem, 0, txtGhiChu.Text);
                    if (tp)
                    {
                        MessageBox.Show(this, "Thêm phòng thành công !!!", "Thông Báo !!!");
                        lvDSPhong.Items.Clear();
                        this.ThemPhong_Load(sender, e);
                    }
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(this, "Thêm không phòng thành công !!!", "Thông Báo !!!");
                }
            }
            
        }

        private void btUpdate_Click(object sender, EventArgs e)
        {
            List<PhongDTO> dsPhong = PhongBUS.layDSPhong();
            for (int i = 0; i < dsPhong.Count; i++)
            {
                if (dsPhong[i].MaPhong == maPhongSua)
                {
                    PhongBUS.updatePhong(maPhongSua, txtTenPhong.Text, maLoaiPhongSua, dsPhong[i].TinhTrang, txtGhiChu.Text);
                }
            }
            lvDSPhong.Items.Clear();
            this.ThemPhong_Load(sender, e);
            MessageBox.Show(this, "Cập nhật phòng thành công !!!", "Thông báo !!!");
        }

        
        private void lvDSPhong_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            btXoa.Enabled = true;
            btUpdate.Enabled = true;

            List<PhongDTO> dsPhong = PhongBUS.layDSPhong();
            for (int i = 0; i < lvDSPhong.Items.Count; i++)
            {
                if (lvDSPhong.Items[i].Selected)
                {
                    txtTenPhong.Text = lvDSPhong.Items[i].SubItems[1].Text;
                    cbLoaiPhong.Text = lvDSPhong.Items[i].SubItems[2].Text;
                    txtDonGia.Text = lvDSPhong.Items[i].SubItems[3].Text;
                    txtGhiChu.Text = lvDSPhong.Items[i].SubItems[4].Text;
                    maPhongSua = Convert.ToInt32(lvDSPhong.Items[i].SubItems[5].Text);
                }
            }
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            PhongBUS.xoaPhong(maPhongSua);
            lvDSPhong.Items.Clear();
            this.ThemPhong_Load(sender, e);
            MessageBox.Show(this, "Xóa phòng thành công !!!", "Thông báo !!!");
        }
    }
}
